package com.xx.xunyou.dao.item;

import com.xx.xunyou.entity.item.XunyouItemType;
import com.xx.xunyou.entity.item.vo.XunyouItemTypeTopAndSonsVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface XunyouItemTypeDao {

    int deleteByPrimaryKey(Integer typeid);

    int insert(XunyouItemType record);

    int insertSelective(XunyouItemType record);

    XunyouItemType selectByPrimaryKey(Integer typeid);

    int updateByPrimaryKeySelective(XunyouItemType record);

    int updateByPrimaryKey(XunyouItemType record);

    /**
     * 查询条数
     * @param map
     * @return
     */
    Integer queryListCountToManager(Map<String,Object> map);

    /**
     * 查询数据
     * @param map
     * @return
     */
    List<Map> queryListToManager(Map<String,Object> map);

    /**
     * 删除
     */
    void deleteById(Integer typeId);

    /**
     * 恢复
     */
    void recoveryById(Integer typeId);

    /**
     * 通过父key查询所有分类
     * @param parentKey
     * @return
     */
    List<XunyouItemType> querySonByParentKeyToManager(@Param("parentKey") String parentKey);

    /**
     * 查询app端的顶上的导航栏
     * @return
     */
    List<XunyouItemTypeTopAndSonsVo> queryTopToAPPIndex();

    /**
     * 通过key查询
     * @param key
     * @return
     */
    XunyouItemType queryByKey(String key);

    /**
     * 通过id查询子集
     * @param typeId
     * @return
     */
    List<XunyouItemType> querySonById(@Param("typeId") Integer typeId);
}